package com.wgy.day30.Lambda表达式.有参数有返回值;

import java.util.Arrays;
import java.util.Comparator;

/*
需求:使用数组存储多个person对象
    对数组中的Person对下使用Arrays的sort方法通过年龄进行升序排序
*
*/
public class Demo03Lambda {
    public static void main(String[] args) {
        //使用数组存储多个Person对象
        Person[] arr = {
                new Person("杨幂", 30),
                new Person("迪丽热巴", 18),
                new Person("古力娜扎", 20)
        };

      /*  //对数组中的Person对下使用Arrays的sort方法通过年龄进行升序排序
        Arrays.sort(arr, new Comparator<Person>() {
            @Override
            public int compare(Person o1, Person o2) {
                return o1.getAge() - o2.getAge();
            }
        });*/

        //使用Lambda表达式进行年龄的升序排序,简化匿名内部类
        Arrays.sort(arr, (Person o1, Person o2) -> {
            return o1.getAge() - o2.getAge();
        });

        //使用Lambda表达式省略格式进行年龄的升序排序,简化匿名内部类
        Arrays.sort(arr, ( o1,  o2) -> o1.getAge() - o2.getAge() );


        //使用for遍历数组
        for (Person p : arr) {
            System.out.println(p);

        }
    }
}



